package com.gwq.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gwq.dto.MessageDto;
import com.gwq.entity.Message;
import com.gwq.entity.MessageReply;
import com.gwq.param.MessageParam;
import com.gwq.param.MessageGiveLikeAddParam;
import org.springframework.web.multipart.MultipartFile;

import java.rmi.ServerException;
import java.security.Principal;

public interface MessageService {

    void addMessage(Message message);

    void updateMessage(Message message);

    void deleteMessage(String[] ids);

    Message getByMessageId(String id);

    Page<MessageDto> pageMessage(MessageParam messageParam, Principal principal);

    String uploadPicture(MultipartFile picture) throws ServerException;

    void messageAddReply(MessageReply messageReply, Principal principal);

    void addAndUpdateGiveLike(MessageGiveLikeAddParam param, Principal principal);

    Page getRemarkPage(MessageGiveLikeAddParam param, Principal principal);

    void addAndUpdateRemark(MessageGiveLikeAddParam param, Principal principal);

    void giveLikeRemark(MessageGiveLikeAddParam param, Principal principal);

    Page<MessageDto> myPage(MessageParam messageParam, Principal principal);
}
